# 列表
# 创建一个列表，只要把逗号分隔的不同的数据项使用方括号括起来即可
list1 = ['Google', 'hello', 1997, 2000]
list2 = [1, 2, 3, 4, 5]
list3 = ["a", "b", "c", "d"]
# 使用下标索引来访问列表中的值，同样你也可以使用方括号的形式截取字符
print("list1[0]: ", list1[0])
print("list2[1:5]: ", list2[1:5])

# 增加
list1.append("world")  # li.append(x) 向列表li尾添加x
print(list1)
list1.insert(2, "py")  # 向列表索引为n的位置插入 x
print(list1)
list1.extend(list2)  # li1.extend(li2) 将列表li2拼接在li1的后面
print(list1)

# 删除
print(list1.pop())  # li.pop() 删除列表li最后一个元素x并且返回x的值
print(list1)
list1.remove(4)  # li.remove(x) 删除li中的x 没有就报错 ValueError: list.remove(x): x not in list
print(list1)
list1.clear()  # 清空列表
print("list1的数据：", list1)  # list1的数据： []

# 修改
print(list2)  # [1, 2, 3, 4, 5]
list2[3] = "替换"  # li[索引值] = 值
print(list2)  # [1, 2, 3, '替换', 5]

# 查找
print(list2.index(1))  # li.index(x) 查找列表中x的所在的位置 没有则报错 ValueError: -1 is not in list

# 排序
list4 = [2, 3, 5, 2, 234, 654, 123, 7512, 6452146, 123, 534]
list4.sort()  # li.sort() 参数 reverse=True 倒序  reverse=False 正序  永久排序 排序的是本 列表
print(list4)
list4.sort(reverse=True)
print(list4)

list5 = [2, 123, 7512, 6452146, 123, 534]
l = sorted(list5, reverse=True)  # 参数 reverse=True 倒序  reverse=False 正序  临时排序  将排序的结果返回
print(l)  # [6452146, 7512, 534, 123, 123, 2]

list6 = [2, 123, 7512, 6452146, 123, 534]
list6.reverse()  # li.reverse() 永久倒排序
print(list6)

list7 = [2, 123, 7512, 6452146, 123, 534]
res = list(reversed(list7))  # 临时倒排序 有返回值 reversed是一个迭代器 需要list函数转换一下
print(list7)
print(res)

# 复制
list8 = [234, 654, 243, 6421, 547, 8, 867, 3, 5]
copy = list8.copy()
print(copy)

# 其他方法
list9 = [234, 654, 243, 6421, 547, 8, 867, 3, 5]
tuq = (23, 45, 214, 651, 234)
print(len(list9))  # 列表元素个数
print(max(list9))  # 返回列表元素最大值
print(min(list9))  # 返回列表元素最小值
print(list(tuq))  # 将元组转换为列表
